ブランチをマージする (git merge)
マージする
0. ブランチを用意する
1. ブランチの移動
マージするとき取り込むブランチと取り込まれるブランチに分かれます。取り込むブランチは残したいブランチ、取り込まれるブランチは後に消すブランチです。また、取り込むブランチに移動する必要があります。今回は develop ブランチを master ブランチに取り込むので、master ブランチに移動します。
code: ブランチの確認
$ git checkout master
# または
$ git switch master
$ git branch
develop
* master
$ ls
sample.txt
現在の master ブランチは sample.txt (内容はHello, Git.) のみ存在します。develop ブランチは sample.txt (内容は Hello, branch.) と branch.txt が存在する。
2. マージする
マージするには以下のコマンドを実行します。取り込みたい (後に消す) ブランチを指定します。
code: マージ.sh
$ git merge ${取り込みたいブランチ名}
今回は develop を指定します。
code: 実行結果.sh
$ git merge develop
Updating a3ab584..5b87da7
Fast-forward
branch.txt | 1 +
sample.txt | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 branch.txt
3. 結果を確認する
以下のコマンドで実行結果を確認します。マージコミットとというマージされたことを示すコミットが記録されています。
code: マージコミット確認.sh
$ git log
commit ${commit hash} (HEAD -> master, develop)
Author: ${Your Name} <${Your mail adress}>
Date: Thu Oct 22 02:15:22 2020 +0900
ファイルの追加と編集
commit ${commit hash}
Author: ${Your Name} <${Your mail adress}>
Date: Thu Oct 22 02:13:19 2020 +0900
初めてのコミット
4. 取り込んだブランチを消す
マージしたブランチはこまめに消すことをおすすめします。以下のコマンドでブランチを消すことができます。ただしマージコミットが存在しないブランチ上で、ブランチを消す操作をすると警告が表示されます。
code: ブランチを消す.sh
$ git branch -d ${ブランチ名}
今回は master ブランチで develop ブランチを消してみます。
code: 今回実行するコマンド.sh
$ git branch -d develop
Deleted branch develop (was 5b87da7).
マージするときにエラーが出た!
複数のブランチをマージしたときにエラーがでることがあります。これはコンフリクト (変更履歴の衝突) と呼ばれる現象です。同じファイルを変更したりしたときに発生します。コンフリクトの解決はコンフリクトの解決で説明します。